Decision feedback equalization with efficient burst error correction

ABSTRACT

Receivers, methods, and cores, can provide decision feedback equalization with efficient burst error correction. An illustrative receiver includes: a decision feedback equalizer that derives symbol decisions from a receive signal; a subtractor that determines an equalization error for each said symbol decision; and a post-processor that operates on the symbol decisions and equalization error to detect and correct symbol decision errors. An illustrative receiving method includes: using a decision feedback equalizer to derive symbol decisions from a filtered receive signal; determining an equalization error for each said symbol decision; and processing the symbol decisions and equalization error to detect and correct symbol decision errors. An illustrative semiconductor intellectual property core generates circuitry for implementing a receiving and method as described above.

TECHNICAL FIELD

The present disclosure relates to digital communications receivers and, more particularly, to equalizers suitable for use with high-rate signaling, and pulse-amplitude modulated (PAM)/quadrature amplitude modulated (QAM) signal constellations.

BACKGROUND

Most integrated circuit devices have become so complex that it is impractical for electronic device designers to design them from scratch. Instead, electronic device designers rely on predefined modular units of integrated circuit layout designs, arranging and joining them as needed to implement the various functions of the desired device. Each modular unit has a defined interface and behavior that has been verified by its creator. Though each modular unit may take a lot of time and investment to create, its availability for re-use and further development cuts product cycle times dramatically and enables better products. The predefined units can be organized hierarchically, with a given unit incorporating one or more lower-level units and in turn being incorporated within higher-level units. Many organizations have libraries of such predefined modular units for sale or license, including, e.g., embedded processors, memory, interfaces for different bus standards, power converters, frequency multipliers, sensor transducer interfaces, to name just a few. The predefined modular units are also known as cells, blocks, cores, and macros, terms which have different connotations and variations (“IP core”, “soft macro”) but are frequently employed interchangeably.

The modular units can be expressed in different ways, e.g., in the form of a hardware description language (HDL) file, or as a fully-routed design that could be printed directly to a series of manufacturing process masks. Fully-routed design files are typically process-specific, meaning that additional design effort would usually be needed to migrate the modular unit to a different process or manufacturer. Modular units in HDL form require subsequent synthesis, placement, and routing steps for implementation, but are process-independent, meaning that different manufacturers can apply their preferred automated synthesis, placement, and routing processes to implement the units using a wide range of manufacturing processes. By virtue of their higher-level representation, HDL units may be more amenable to modification and the use of variable design parameters, whereas fully-routed units may offer better predictability in terms of areal requirements, reliability, and performance. While there is no fixed rule, digital module designs are more commonly specified in HDL form, while analog and mixed-signal units are more commonly specified as a lower-level, physical description.

Serializer-deserializer (SerDes) cores are a frequent need for device designs that employ modern data communications standards, which continue to evolve towards higher symbol rates and larger numbers of bits per channel symbol. At higher symbol rates, channel symbols become more attenuated and dispersed as they propagate, causing evermore severe intersymbol interference (ISI) at the receiving end of the channel. When trying to detect the channel symbols, receivers must contend with this ISI in addition to the channel noise that contaminates the receive signal.

Due to their relative low complexities, linear equalizers and decision feedback equalizers (DFE) are typically preferred for facilitating channel symbol detection without undue noise enhancement. Yet as data rates push ever closer to channel capacity, these equalizers may fail to provide sufficiently low error rates. Particularly in high ISI channels, DFEs may suffer from error propagation, causing error bursts that can significantly degrade performance.

SUMMARY

Accordingly, there are disclosed herein receivers, methods, and cores that provide decision feedback equalization with efficient burst error correction. An illustrative receiver includes: a decision feedback equalizer that derives symbol decisions from a receive signal; a subtractor that determines an equalization error for each said symbol decision; and a post-processor that operates on the symbol decisions and equalization error to detect and correct symbol decision errors.

One illustrative receiving method includes: using a decision feedback equalizer to derive symbol decisions from a filtered receive signal; determining an equalization error for each said symbol decision; and processing the symbol decisions and equalization error to detect and correct symbol decision errors.

An illustrative semiconductor intellectual property core generates circuitry for implementing a receiving and method as described above.

Each of the foregoing receiver, method, and core implementations may be embodied individually or conjointly and may be combined with any one or more of the following optional features: 1. the post-processor detects error exit symbols by comparing the equalization error's magnitude to a threshold. 2. the decision feedback equalizer includes a forward filter that shapes a channel response to 1+γD. 3. the threshold to detect error exit symbols is programmable. 4. the decision feedback equalizer derives M-ary PAM symbol decisions, M>2, and the error exit symbol is limited to 0 and (M−1). 5. the post-processor includes a metric circuit to determine a likelihood difference for each of multiple different error burst lengths. 6. the post-processor includes a corrector circuit that finds the minimum likelihood difference and when appropriate corrects a corresponding number of decision errors preceding the error exit symbol. 7. the metric circuit and corrector circuit are disabled until an error exit symbol is detected. 8. processing includes finding a minimum likelihood difference for each error exit symbol and if the minimum likelihood difference so indicates, correcting a corresponding number of decision errors preceding that error exit symbol.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows an illustrative network.

FIG. 2 is a block diagram of an illustrative switch.

FIG. 3 is an illustrative PAM4 eye diagram.

FIG. 4 is a block diagram of an illustrative one-tap DFE with a post-processor.

FIG. 5 is a block diagram of an illustrative post-processor.

FIG. 6 is a schematic of an illustrative metric circuit.

FIG. 7 is a schematic of an illustrative corrector circuit.

FIG. 8 is a schematic of an alternative corrector circuit.

FIG. 9 is a graph of BER vs. SNR for a 1+D channel response.

FIG. 10 is a graph of BER vs. SNR for a 1+0.875D channel response.

DETAILED DESCRIPTION

While specific embodiments are given in the drawings and the following description, keep in mind that they do not limit the disclosure. On the contrary, they provide the foundation for one of ordinary skill to discern the alternative forms, equivalents, and modifications that are encompassed in the scope of the appended claims.

For context, FIG. 1 shows an illustrative network such as might be found in a data processing center, with multiple server racks 102-106 each containing multiple servers 110 and at least one “top of rack” (TOR) switch 112. The TOR switches 112 are connected to aggregator switches 114 for interconnectivity and connection to the regional network and internet. (As used herein, the term “switch” includes not just traditional network switches, but also routers, network bridges, hubs, and other devices that forward network communication packets between ports.) Each of the servers 110 is connected to the TOR switches 112 by network cables 120, which may convey signals with symbol rates high enough to cause substantial intersymbol interference (ISI).

FIG. 2 shows an illustrative switch 112 with an application-specific integrated circuit (ASIC) 202 that implements packet-switching functionality coupled to port connectors 204 for pluggable modules 206. Pluggable modules 206 couple between the port connectors 204 and cable connectors 208 to improve communications performance by way of equalization and optional format conversion (e.g., converting between electrical and optical signals). The pluggable modules 206 may comply with any one of various pluggable module standards including SFP, SFP-DD, QSFP, QSFP-DD, and OSFP.

The pluggable modules 206 may each include a retimer chip 210 and a microcontroller chip 212 that controls operation of the retimer chip 210 in accordance with firmware and parameters that may be stored in nonvolatile memory 214. The operating mode and parameters of the pluggable retimer modules 206 may be set via a two wire bus such as 12C or MDIO that connects the microcontroller chip 212 to the host device (e.g., switch 112). The microcontroller chip 212 responds to queries and commands received via the two wire bus, and responsively retrieves information from and saves information to control registers 218 of the retimer chip 210.

Retimer chip 210 includes a host-side transceiver 220 coupled to a line-side transceiver 222 by first-in first-out (FIFO) buffers 224. The transceivers may be SerDes cores having decision feedback equalizers (DFEs) for high baud rate reception. FIG. 2 shows optional photoemitter (PE) and photodetector (PD) modules to convert between optical line-side signals and electrical host-side signals. Though only a single lane is shown in the figure, the transceivers may support multiple lanes conveyed via multiple corresponding optical fibers or electrical conductors. A controller 226 coordinates the operation of the transceivers in accordance with the control register contents, and may provide for multiple communication phases pursuant to a communications standard such as the Fibre Channel Standard published by the American National Standard for Information Technology Accredited Standards Committee INCITS.

FIG. 3 is an illustrative PAM4 eye diagram with three decision thresholds T_(0/1), T_(1/2), T_(2/3), that a DFE may use to distinguish between the four potential channel symbols 0, 1, 2, 3, which have respective target levels L(0)=−A, L(1)=−A/3, L(2)=A/3, and L(3)=A. For a nominal signal range of −A to +A, the decision thresholds are set at 0 and ±2A/3. Noise, interference, and other channel effects cause variation in the signal, spreading the signal paths and reducing the size of the eyes, thereby increasing the probability of symbol detection error.

FIG. 4 shows an illustrative DFE with post-processing. An analog to digital converter (ADC) 402 converts an analog receive signal r(t) to a digital receive signal x_(k), which may be filtered by a forward equalizer (FFE) 404 to produce a filtered receive signal y_(k) having minimal leading intersymbol interference (ISI). The FFE 404 can further shape the signal spectrum to limit trailing ISI to one symbol (i.e., a channel response of 1+γD). That is, the filtered receive signal can be expressed:

y _(k) =L(d _(k))+γL(d _(k−1))+n _(k),  (1)

where d_(k)∈{0, 1, 2, 3} represents the transmitted PAM4 symbols, L(d_(k)) is a fixed mapping of PAM4 symbols to their corresponding signal levels, and n_(k) represents the noise plus some other impairments.

A summer 406 combines the filtered receive signal with a feedback signal f_(k) to produce an equalized signal s_(k) having reduced trailing ISI and thus (in the absence of significant channel noise) having open decision eyes such as those of FIG. 3 . A slicer 408 compares the equalized signal to the decision thresholds to determine the symbol decisions d_(k). A symbol mapper 410 converts the symbol to its target level L(d_(k)), enabling a subtractor 409 to calculate the equalization error e_(k). A delay element 412 latches the target level L({circumflex over (d)}_(k)), making it available during the next symbol interval as the preceding symbol target level L({circumflex over (d)}_(k−1)). A multiplier 414 scales the symbol mapper output by a feedback filter coefficient γ to produce the feedback signal f_(k) for summer 406.

A post-processor 420 operates on the symbol decisions and equalization error to detect and correct symbol decision errors. Before discussing implementation details, we provide the following derivation to facilitate understanding.

Without loss of generality, the following discussion assumes the nominal signal range is −3 to +3, such that the signal levels for symbols 0, 1, 2, 3, are −3, −1, +1, and +3, respectively. The equalized signal s_(k) is expressible as:

s _(k) =y _(k) −γ·L({circumflex over (d)} _(k−1))  (2)

or equivalently as:

s _(k) =L(d _(k))+γ[L(d _(k−1))−L({circumflex over (d)} _(k−1))]+n _(k)  (3)

When a decision error happens such that d_(k−1)≠{circumflex over (d)}_(k−1),

|L(d _(k−1))−L({circumflex over (d)} _(k−1))|≥2,  (4)

which for the contemplated range of signal to noise ratios (SNR) can be assumed to mean

L(d _(k−1))−L({circumflex over (d)} _(k−1))=±2 when d _(k−1) ≠{circumflex over (d)} _(k−1)).  (5)

In the presence of a decision error, the equalized signal is shifted from its desired value by γ[L(d_(k−1))−L({circumflex over (d)}_(k−1))]=±2γ. In high baud rate systems, the DFE tap γ is typically greater than or equal to 0.5, and often about 1.0. This shift exceeds the distance between the symbol level and the decision threshold, likely causing the decision error to propagate from one symbol interval to the next, causing an extended error burst until

d _(k)=3 with L(d _(k−1))−L({circumflex over (d)} _(k−1))>0, or  (6a)

d _(k)=0 with(d _(k−1))−L({circumflex over (d)} _(k−1))<0  (6b)

Alternatively, a sufficiently large noise signal n_(k) could theoretically overcome the decision error shift to end the error burst, but in the contemplated SNR range |n_(k)|<1.0 with high probability so we neglect this alternative herein and focus on the conditions given in equations (6a) and (6b).

Equations (6a) and (6b) are defined as the error exit conditions, with the corresponding d_(k) designated herein as the “error exit symbol”. The following discussion shows that the equalization error associated with error exit symbols is conspicuously larger than the expected error level.

We define error sign se_(k)=sgn (L(d_(k))−L({circumflex over (d)}_(k))), meaning se_(k) ∈{±1} in the presence of a decision error d_(k−1)≠{circumflex over (d)}_(k−1),

s _(k) =L(d _(k))+2γ·se _(k−1) +n _(k)  (7)

To simplify this discussion, assume for the moment γ=1. If the error exit conditions (6a), (6b) are not satisfied, we have the following:

L(d _(k))−L({circumflex over (d)} _(k))=−1·[L(d _(k−1))−L({circumflex over (d)} _(k−1))]  (8)

se _(k)=−1·se _(k−1)  (9)

Assume the error exit conditions are not satisfied until d_(k+Δ), i.e., {circumflex over (d)}_(k−1), {circumflex over (d)}_(k) . . . , {circumflex over (d)}_(k+Δ) are burst errors. The following equations can be derived for the burst errors:

se _(k+i)=(−1)^(i) ·se _(k),0≤i≤Δ  (10)

L(d _(k+i))−L({circumflex over (d)} _(k+i))=(−1)^(i) ·[L(d _(k))−L({circumflex over (d)} _(k))],0≤i≤Δ  (11)

Define equalization error e_(k) as

e _(k) =s _(k) −L({circumflex over (d)} _(k))  (12)

Consider the equalization error in three cases: no decision errors, burst errors, and error exit symbols. If there are no decision errors, d_(k−1)={circumflex over (d)}_(k−1), {circumflex over (d)}_(k)={circumflex over (d)}_(k) The equalization error is

e _(k) =n _(k)  (13)

If there are burst errors d_(k−1)≠{circumflex over (d)}_(k−1), d_(k)≠{circumflex over (d)}_(k), from (3), (11) and (12), the equalization error is

e _(k) =s _(k) −L({circumflex over (d)} _(k))=L(d _(k))−L({circumflex over (d)} _(k))+L(d _(k−1))−L({circumflex over (d)} _(k−1))+n _(k)  (14)

e _(k) =n _(k)  (15)

Now, if the burst errors exit at d_(k+Δ), i.e., d_(k+Δ) satisfies the error exit condition (6a) or (6b), d_(k+Δ)={circumflex over (d)}_(k+Δ), L(d_(k+Δ))=L({circumflex over (d)}_(k+Δ)). From Equation (3), (5) and (11), the equalization error e_(k+Δ) is given as follows.

e _(k+Δ) =s _(k+Δ) −L({circumflex over (d)} _(k+Δ))=(−1)Δ·[L(d _(k−1))−L({circumflex over (d)} _(k−1))]+n _(k+Δ)  (16)

e _(k+Δ)=(±2)+n _(k+Δ)  (17)

In the contemplated SNR range |n_(k)|<1.0 with high probability, so that the equalization error in equation (17) is conspicuously different from the equalization error of equations (13) and (15). As γ falls below 1, the equalization error of equation (15) grows as the error of equation (17) falls, but depending on SNR they may remain distinguishable until γ approaches 0.5, and in any case they should be readily distinguishable from the equalization error when no decision errors are present.

Summarizing the equalization errors computed in (13), (15) and (17), we have the following:

-   -   No decision errors: e_(k)=n_(k)     -   Burst errors: e_(k)=n_(k)     -   Error exit symbols: e_(k)=(±2)+n_(k)         Above computations show that equalization error of the error         exit symbol e_(k+Δ) has magnitude around 2 which is         conspicuously larger than the equalization error in the absence         of decision errors and during burst errors. We may use this         property in combination with the error exit conditions to detect         the burst errors for DFE with large feedback tap values.

For a programmable error threshold T_(e), if |e_(k)|>T_(e) and symbol decision {circumflex over (d)}_(k) ∈{0,3}, then {circumflex over (d)}_(k) is declared as the error exit symbol and d_(k−1) is likely a single error or the end of an error burst. (The feedback tap coefficient γ is a good choice for the value of threshold T_(e).) Once the possible errors are detected, an efficient maximum likelihood (ML) search may be performed to verify whether the possible errors are indeed errors and, if so, to correct them.

To illustrate the ML search method, assume {circumflex over (d)}_(k) is declared as the error exit symbol, and let M be the maximum length of the trace back from {circumflex over (d)}_(k), i.e., the ML search is performed within the window from {circumflex over (d)}_(k) to {circumflex over (d)}_(k−M). Define the initial (varying-length) decision sequences as:

{circumflex over (d)} _(i) =[L({circumflex over (d)} _(k−1)),L({circumflex over (d)} _(k−2)), . . . ,L({circumflex over (d)} _(k−i))],1≤i≤M  (18)

with competing decision sequences:

{circumflex over (d)}′_(i) ={circumflex over (d)}_(i) +2se _(k)·[(−1)⁰,(−1)¹, . . . ,(−1)^(i−1)],1≤i≤M  (19)

In (19), se_(k) is redefined as se_(k)=sgn(e_(k)), and this definition is used for se_(k) in the remaining part of this description. For the sequence of filtered receive signals Y={y_(k−1), y_(k−1), . . . , y_(k−i)}, the likelihood of {circumflex over (d)}_(i) is computed as:

Pr{ Y |{circumflex over (d)}_(i) }∝P _(i)=−Σ_(j=0) ^(i)(y _(k−j) =ŷ _(k−j))²,  (20)

where

ŷ _(k−j) =L({circumflex over (d)} _(k−j)))+γ·L({circumflex over (d)} _(k−j−1))  (21)

It can be shown from the combination of (2), (12), and (21), that

e _(k−j) =y _(k−j) −ŷ _(k−j)  (22)

The likelihood of {circumflex over (d)}′_(i) is computed as:

Pr{ Y |{circumflex over (d)}′_(i) }∝P′ _(i)=−ΣΣ_(j=0) ^(i)(y _(k−j) −ŷ′ _(k−j))²,  (23)

where

ŷ′ _(k−j) =L({circumflex over (d)}′ _(k−j))+γ·L({circumflex over (d)}′ _(k−j−1)).  (24)

In (24), {circumflex over (d)}′_(k−j) and L({circumflex over (d)}′_(k−j)) are given by

{circumflex over (d)}′ _(k−j) ={circumflex over (d)} _(k−j) +se _(k)·(−1)^(j−1),1≤j≤i,  (25)

L({circumflex over (d)}′ _(k−j))=L({circumflex over (d)} _(k−j))+2·se _(k)·(−1)^(j−1),1≤j≤i  (26)

We note that L({circumflex over (d)}′_(k))=L({circumflex over (d)}_(k)) and {circumflex over (d)}′_(k)={circumflex over (d)}′_(k) since {circumflex over (d)}_(k) is assumed to be the error exit symbol.

Let the competing error e′_(k−j) be defined by

e′ _(k−j) =y _(k−j) −ŷ′ _(k−j)  (27)

It can be shown that

ê′ _(k−j) =e _(k−j) −Δe _(k−j)  (28)

Δe _(k−j) =L({circumflex over (d)}′ _(k−j))−L({circumflex over (d)} _(k−j))+γ·(L({circumflex over (d)} _(k−j−1))−L({circumflex over (d)} _(k−j−1))  (29)

In (29) L({circumflex over (d)}′_(k−j))=L({circumflex over (d)}_(k−j)), when j=0 and j=(i+1).

Define ΔP_(i)=P_(i)−P′_(i). After some mathematical operations, it can be shown that ΔP_(i) is given by

ΔP _(i)=Σ_(j=0) ^(i)[(Δe _(k−j))²−2·Δe _(k−j) ·e _(k−j)]  (30)

If i=1,

ΔP _(i)=4γ²−4·γ·se _(k) ·e _(k)+4−4·se _(k) ·e _(k−1)  (31)

If i>1,

Δe _(k−j)=2se _(k)·(−1)^(j−1)·(1−γ),1≤j≤i,  (32)

ΔP _(i)=4(γ² −γ·se _(k) ·e _(k)+1−se _(k)·(−1)^(i−1) ·e _(k−i)−Σ_(j=1) ^(i−1) ce _(k−j))  (33)

where ce _(k−j) is given by

ce _(k−j)=(1−γ)² −se _(k)·(1−γ)·(−1)^(j−1) ·e _(k−j)  (34)

When the DFE tap γ=1,

ce _(k−j)=0,1≤j≤i,  (35)

Omitting the common factor 4, from (33), the ΔP_(i) computation is further simplified to:

ΔP _(i)=γ² −γ·se _(k) ·e _(k)+1−se _(k)·(−1)^(i−1) ·e _(k−i)  (36)

Now let

${\Delta P}_{i\_\min} = {{\min\limits_{1 \leq i \leq M}\left( {\Delta P}_{i} \right)}.}$

If ΔP_(i_min)<0, the previous i_min decisions {circumflex over (d)}_(k−j), 1≤j≤i_min are errors that should be corrected, replacing {circumflex over (d)}_(k−j) with

d′ _(k−j) ={circumflex over (d)} _(k−j) +se _(k)·(−1)^(j−1),1≤j≤i_min  (38)

Conversely, if ΔP_(i_min)≥0, the decisions {circumflex over (d)}_(k−j), 1≤j≤M, do not need to be changed.

If there exists j, 1≤j≤M, such that the competing symbol decision is invalid, i.e., {circumflex over (d)}′_(k−j) ∉{0, 1, 2, 3}, then let J be the minimum of such values, such that J−1 is the number of potential error burst lengths. The ΔP_(i) only needs to be computed for 1≤i≤J instead of 1≤i≤M, and the rest of the process remains unchanged.

Now, we summarize the proposed DFE postprocessing method as follows: (A) Monitor symbol decisions for an error exit symbol (a symbol {circumflex over (d)}_(k)∈{0,3} with |e_(k)|>T_(e)). (B) when an error exit symbol is detected, compute the likelihood differences ΔP_(i) for different burst lengths 1≤i≤min{M,J}. (C) Find the minimum likelihood difference and corresponding index i_min,

${\Delta P}_{i\_\min} = {{\min\limits_{1 \leq i \leq M}\left( {\Delta P}_{i} \right)}.}$

(D) If ΔP_(i_min)<0, then replace decisions {circumflex over (d)}_(k−j), 1≤j≤i_min, with competing symbol decisions {circumflex over (d)}′_(k−1). If ΔP_(i_min)≥0, no correction is needed.

The limit on trace back length M can be set to, e.g., 32, without adding undue complexity. Other limits can also be evaluated empirically for suitability. The main computation load of the proposed algorithm is the sequence metric ΔP_(i) computation in (33) and (34). Note that the γ², (1−γ)² and (1−γ) only need to be computed once for large chunk of data; and se_(k) ∈{±1}. The overall computation complexity of the algorithm is substantially lower than that for maximum likelihood sequence detectors (MLSD) or even than for the reduced complexity 2-state MLSD described in co-pending application [atty dkt #20160.0072].

FIG. 5 is a block diagram of an illustrative post-processor 420. It includes a metric circuit 502 that operates on the sequence of equalization errors e_(k) and prospective error signs se_(k) to produce likelihood differences ΔP_(i) for the potential error burst lengths. A corrector circuit 504 operates on the likelihood differences ΔP_(i) to find the minimum likelihood difference and its corresponding index i_min. If the minimum likelihood difference is less than zero, the corrector circuit 504 replaces the i_min symbol decisions preceding the error exit symbol with their competing symbol decisions.

A control circuit 506 evaluates the sequence of symbol decisions and equalization errors from the decision feedback equalizer to detect potential error exit symbols, enabling metric circuit 502 and corrector circuit 504 to operate only when such symbols are detected. Note that circuits 502, 504 have shift registers that continue to operate when these circuits are “disabled”. It is these shift registers that enable the post-processing operation of the corresponding circuits.

FIG. 6 shows one illustrative implementation of the metric circuit 502. It includes a shift register 602 for buffering past equalization errors e_(k) to be used for the metric calculation. A set of inverters 604 (shown here as multipliers) applies alternate sign changes to the past equalization errors e_(k) as dictated by error sign se_(k). A set of multipliers and adders 606 scale and shift the inverter outputs to complete the computations given by equation (34). A set of cumulative adders 608 performs the summations shown in equation (33).

On the left side of FIG. 6 , an inverter, multiplier, and adder produce a signal 610 representing the first three terms of equation (33), which are shared for all likelihood difference calculations. Along the top of FIG. 6 , a set of adders combines the various terms to provide each of the likelihood differences ΔP_(i) for different potential burst lengths, which are provided to corrector circuit 504.

FIG. 7 shows one illustrative implementation of corrector circuit 504. The circuit includes a symbol decision shift register 702 with multiplexers for optionally replacing some of the symbol decisions {circumflex over (d)}_(k−j) with competing symbol decisions {circumflex over (d)}′_(k−j) when the corresponding replacement control signals r_(k−j) are asserted. A set of adders 704 adds the prospective error sign se_(k) (with alternate sign changes) to the past symbol decisions to calculate the competing symbol decisions {circumflex over (d)}′_(k−j), which are not necessarily valid decision symbols. An evaluation circuit 706 includes a set of comparators to determine whether each of the competing symbol decisions are in the range between 0 and M−1 (inclusive), and if so, to assert the comparator output. The evaluation circuit 706 includes a chain of logical AND gates to pass the comparator output only if all of the more recent competing symbol decisions are also valid, and to block the comparator output otherwise. For those comparator outputs that are asserted and passed by the AND gates, a set of multiplexers 708 selects the corresponding likelihood differences ΔP_(i) from the metric circuit 502; otherwise the multiplexers output zero. A chain of compare-and-select (CAS) units 710 each pass the smaller of their inputs, thereby determining a minimum likelihood difference. The comparator outputs of the CAS units are combined by a chain of logical OR gates 712 to derive the replacement control signals r_(k−j) for the multiplexers of the shift register 702.

When the DFE tap γ=1, the post-processor can be simplified. FIG. 8 shows an illustrative implementation for this case. It includes the shift register 602 and inverters 604 to apply alternate sign changes to the past equalization errors.

With reference to equation 36, we observe that the minimum likelihood difference will be determined by the maximum of the sign-changed errors for the valid competing symbol decisions. The validity signals v_(k−i) are determined as in FIG. 7 from the symbol decision shift register 702, the adders 704, and evaluation circuit 706.

A set of multiplexers 820 pass the sign-changed errors for the valid competing symbol decisions. A chain of compare-and-select (CAS) units 821 each pass the larger of their inputs, thereby determining e_(max), the maximum of the sign-changed errors. The comparator outputs of the CAS units are combined by a chain of logical OR gates to derive the replacement control signals r_(k−j) for the multiplexers of the shift register 702. Note, however, a set of AND gates 822 blocks the replacement control signals unless equation (36) using e_(max) produces a negative value, in which case it is desired to replace the original symbol decisions with their competing symbol decisions.

FIG. 9 is a graph comparing performances of a traditional DFE and traditional MLSD with the disclosed DFE with post-processing (DFEpp) for a simulated PAM4 signal having a 1+D channel response with additive white Gaussian noise (AWGN). It is observed that in the region of interest, the DFEpp essentially matches the MLSD performance, improving on the traditional DFE performance by about 2 dB of channel signal to noise ratio (SNR). Similar results are observed in FIG. 10 , which compares the receiver performances for a simulated channel response of 1+0.875D.

Numerous alternative forms, equivalents, and modifications will become apparent to those skilled in the art once the above disclosure is fully appreciated. Though PAM4 was used for the foregoing discussions, the disclosed principles are applicable to larger PAM constellations and to QAM signaling. Though a positive feedback coefficient value was presumed, the disclosed principles are similarly applicable with negative feedback coefficient values. Moreover, the disclosed analysis is readily extendible to multiple feedback taps for DFEs with suitable coefficient values. It is intended that the claims be interpreted to embrace all such alternative forms, equivalents, and modifications that are encompassed in the scope of the appended claims. 

What is claimed is:
 1. A receiver comprising: a decision feedback equalizer that derives symbol decisions from a receive signal; a subtractor that determines an equalization error for each said symbol decision; and a post-processor that operates on the symbol decisions and equalization error to detect and correct symbol decision errors.
 2. The receiver of claim 1, wherein the post-processor detects error exit symbols by comparing the equalization error's magnitude to a threshold.
 3. The receiver of claim 2, wherein the decision feedback equalizer includes a forward filter that shapes a channel response to 1+γD.
 4. The receiver of claim 3, wherein the threshold is programmable.
 5. The receiver of claim 2, wherein the decision feedback equalizer derives M-ary PAM symbol decisions, M>2, and the error exit symbol is limited to 0 and (M−1).
 6. The receiver of claim 2, wherein the post-processor includes a metric circuit to determine a likelihood difference for each of multiple different error burst lengths.
 7. The receiver of claim 6, wherein the post-processor further includes a corrector circuit that finds the minimum likelihood difference and, if the minimum likelihood difference so indicates, corrects a corresponding number of decision errors preceding the error exit symbol.
 8. The receiver of claim 7, wherein the metric circuit and corrector circuit are disabled until an error exit symbol is detected.
 9. A receiving method comprising: using a decision feedback equalizer to derive symbol decisions from a filtered receive signal; determining an equalization error for each said symbol decision; and processing the symbol decisions and equalization error to detect and correct symbol decision errors.
 10. The method of claim 9, wherein said processing includes comparing the equalization error to a threshold to detect error exit symbols.
 11. The method of claim 10, wherein a channel response of the filtered receive signal is 1+γD, and wherein the threshold equals γ.
 12. The method of claim 10, wherein the decision feedback equalizer derives M-ary PAM symbol decisions, M>2, and wherein as part of detecting error exit symbols, said comparing is performed only for minimum and maximum symbol decision values.
 13. The method of claim 10, wherein said processing includes determining a likelihood difference for each of multiple different error burst lengths.
 14. The method of claim 13, wherein said processing further includes finding a minimum likelihood difference for each error exit symbol and, if the minimum likelihood difference exceeds a threshold, corrects a corresponding number of decision errors preceding that error exit symbol.
 15. A semiconductor intellectual property core that generates circuitry comprising: a decision feedback equalizer that derives symbol decisions from a filtered receive signal; a subtractor that determines an equalization error for each said symbol decision; and a post-processor that operates on the symbol decisions and equalization error to detect and correct symbol decision errors.
 16. The semiconductor intellectual property core of claim 15, wherein the post-processor comprises a comparator that compares equalization error to a threshold to detect error exit symbols.
 17. The semiconductor intellectual property core of claim 16, wherein a channel response of the filtered receive signal is 1+γD, and wherein the threshold is programmable.
 18. The semiconductor intellectual property core of claim 16, wherein the decision feedback equalizer derives M-ary PAM symbol decisions, M>2, and wherein said error exit symbols are limited to the minimum and maximum symbol decision values.
 19. The semiconductor intellectual property core of claim 16, wherein the post-processor includes a metric circuit configured to determine a likelihood difference for each of multiple different error burst lengths.
 20. The semiconductor intellectual property core of claim 19, wherein the post-processor further includes a corrector circuit configured to find a minimum likelihood difference for each error exit symbol and, if the minimum likelihood difference indicates a decision error is present, to correct a corresponding number of decision errors preceding that error exit symbol. 